/**
 * Project Name:fire-industry-DM-center
 * File Name:DmMapCfdaClinicalDrug.java
 * Package Name:com.firestone.bean.entity.elasticsearch.dm
 * Date:2018年4月9日下午1:17:34
 *
*/

package com.firestone.bean.entity.elasticsearch.dm;

import java.io.Serializable;
import java.util.List;

import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.DateFormat;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import org.springframework.data.elasticsearch.annotations.Setting;

import com.firestone.bean.entity.elasticsearch.nested.ControlInfo;
import com.firestone.bean.entity.elasticsearch.nested.EthicsCommitteeInformation;
import com.firestone.bean.entity.elasticsearch.nested.InvestigationOrganisation;
import com.firestone.bean.entity.elasticsearch.nested.MainEndpoint;
import com.firestone.bean.entity.elasticsearch.nested.SampleInfo;
import com.firestone.bean.entity.elasticsearch.nested.SecondaryEndpoint;
import com.firestone.bean.entity.elasticsearch.nested.SponsorName;
import com.firestone.bean.entity.elasticsearch.nested.WeightJson;

/**
 * @Description: TODO(数据工厂DM层CFDA临床药品表 Elasticsearch bean)
 * DM数据工厂ES表不由该系统维护，请将createIndex设为false，避免系统启动时修改了大数据维护表的索引
 * @author CAIYJ
 * @date 2018年4月9日 下午1:17:34
 */
@Document(indexName = "dm_map_cfda_clinical_drug", type = "index", createIndex = false)
@Setting(settingPath = "/setting/setting.json")
public class DmMapCfdaClinicalDrug implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    private String id;
    /**
     * @Fields SYS_add_time : TODO(添加时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_add_time;

    /**
     * @Fields SYS_add_time : TODO(检验时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_check_time;

    /**
     * @Fields SYS_add_time : TODO(更改时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_dm_update_time;
    /**
     * @Fields acceptance_number : TODO(申请受理号)
     */
    @Field(type = FieldType.keyword)
    private String acceptance_number;

    /**
     * @Fields application : TODO(适应症)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String application;

    /**
     * @Fields blinding : TODO(盲法)
     */
    @Field(type = FieldType.keyword)
    private String blinding;

    /**
     * @Fields chemical_recode_number : TODO(化学药备案号)
     */
    @Field(type = FieldType.keyword)
    private String chemical_recode_number;

    /**
     * @Fields chemical_recode_number : TODO(实验分类)
     */
    @Field(type = FieldType.keyword)
    private String clinical_trials_type;

    /**
     * @Fields condition : TODO(状态)
     */
    @Field(type = FieldType.keyword)
    private String condition;

    /**
     * @Fields contact_address : TODO(联系人地址)
     */
    @Field(type = FieldType.keyword)
    private String contact_address;

    /**
     * @Fields contact_email : TODO(联系人邮箱)
     */
    @Field(type = FieldType.keyword)
    private String contact_email;

    /**
     * @Fields contact_name : TODO(联系人姓名)
     */
    @Field(type = FieldType.keyword)
    private String contact_name;

    /**
     * @Fields contact_phone : TODO(联系人手机号)
     */
    @Field(type = FieldType.keyword)
    private String contact_phone;

    /**
     * @Fields contact_postcode : TODO(联系人邮编)
     */
    @Field(type = FieldType.keyword)
    private String contact_postcode;

    /**
     * @Fields control_info_nested : TODO(对照药实体)
     */
    @Field(type = FieldType.Nested)
    private List<ControlInfo> control_info_nested;

    /**
     * @Fields design_type : TODO(设计类型)
     */
    @Field(type = FieldType.keyword)
    private String design_type;

    /**
     * @Fields dmc : TODO(数据安全检察委员会)
     */
    @Field(type = FieldType.keyword)
    private String dmc;

    /**
     * @Fields drug_name : TODO(药品名称)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String drug_name;

    /**
     * @Fields drug_type : TODO(药品类型)
     */
    @Field(type = FieldType.keyword)
    private String drug_type;

    /**
     * @Fields end_time : TODO(终止时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String end_time;

    /**
     * @Fields ethics_committee_information_nested : TODO(伦理委员会)
     */
    @Field(type = FieldType.Nested)
    private List<EthicsCommitteeInformation> ethics_committee_information_nested;

    /**
     * @Fields exclusion_criteria : TODO(排除标准)
     */
    @Field(type = FieldType.keyword)
    private String exclusion_criteria;

    /**
     * @Fields ext_company : TODO(企业)
     */
    @Field(type = FieldType.text, analyzer = "tab_analyzer")
    private String ext_company;

    /**
     * @Fields first_subject_entry_time : TODO(入组时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String first_subject_entry_time;

    /**
     * @Fields funds : TODO(经费)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String funds;

    /**
     * @Fields general_title : TODO(通俗题目)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String general_title;

    /**
     * @Fields inclusion_criteria : TODO(入选标准)
     */
    @Field(type = FieldType.keyword)
    private String inclusion_criteria;

    /**
     * @Fields investigation_organisation_nested : TODO(参加机构实体)
     */
    @Field(type = FieldType.Nested)
    private List<InvestigationOrganisation> investigation_organisation_nested;

    /**
     * @Fields investigator_address : TODO(研究者地址)
     */
    @Field(type = FieldType.keyword)
    private String investigator_address;

    /**
     * @Fields investigator_email : TODO(研究者邮箱)
     */
    @Field(type = FieldType.keyword)
    private String investigator_email;

    /**
     * @Fields investigator_name : TODO(研究者名称)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String investigator_name;

    /**
     * @Fields investigator_organisation : TODO(研究者单位名称)
     */
    @Field(type = FieldType.keyword)
    private String investigator_organisation;

    /**
     * @Fields investigator_phone : TODO(研究者手机号)
     */
    @Field(type = FieldType.keyword)
    private String investigator_phone;

    /**
     * @Fields investigator_title : TODO(研究者职称)
     */
    @Field(type = FieldType.keyword)
    private String investigator_title;

    /**
     * @Fields main_endpoint_nested : TODO(主要终点指标)
     */
    @Field(type = FieldType.Nested)
    private List<MainEndpoint> main_endpoint_nested;

    /**
     * @Fields postcode : TODO(邮编)
     */
    @Field(type = FieldType.keyword)
    private String postcode;

    /**
     * @Fields primary_subjects_number : TODO(目标入组人数)
     */
    @Field(type = FieldType.keyword)
    private String primary_subjects_number;

    /**
     * @Fields project_number : TODO(编号)
     */
    @Field(type = FieldType.keyword)
    private String project_number;

    /**
     * @Fields publication_date : TODO(首次信息公示日期)
     */
    @Field(type = FieldType.keyword)
    private String publication_date;

    /**
     * @Fields purpose : TODO(试验目的)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String purpose;

    /**
     * @Fields randomization : TODO(随机化)
     */
    @Field(type = FieldType.keyword)
    private String randomization;

    /**
     * @Fields real_subjects_num : TODO(实际入组人数)
     */
    @Field(type = FieldType.keyword)
    private String real_subjects_num;

    /**
     * @Fields registration_number : TODO(登记号)
     */
    @Field(type = FieldType.keyword)
    private String registration_number;

    /**
     * @Fields sample_info_nested : TODO(试验药实体)
     */
    @Field(type = FieldType.Nested)
    private List<SampleInfo> sample_info_nested;

    /**
     * @Fields scientific_title : TODO(专业题目)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String scientific_title;

    @Field(type = FieldType.Nested)
    private List<SecondaryEndpoint> secondary_endpoint_nested;

    /**
     * @Fields sponsor_name : TODO(申办者名称)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String sponsor_name;

    /**
     * @Fields sponsor_name_nested : TODO(申办者实体)
     */
    @Field(type = FieldType.Nested)
    private List<SponsorName> sponsor_name_nested;

    /**
     * @Fields stage : TODO(实验分期)
     */
    @Field(type = FieldType.keyword)
    private String stage;

    /**
     * @Fields study_range : TODO(试验范围)
     */
    @Field(type = FieldType.keyword)
    private String study_range;

    /**
     * @Fields subjects_age : TODO(受试者年龄)
     */
    @Field(type = FieldType.keyword)
    private String subjects_age;

    /**
     * @Fields subjects_gender : TODO(受试者性别)
     */
    @Field(type = FieldType.keyword)
    private String subjects_gender;

    /**
     * @Fields subjects_healthy : TODO(受试者健康)
     */
    @Field(type = FieldType.keyword)
    private String subjects_healthy;

    /**
     * @Fields url : TODO(链接)
     */
    @Field(type = FieldType.keyword)
    private String url;

    /**
     * @Fields weight_json : TODO(记录字段修改信息)
     */
    @Field(type = FieldType.Nested)
    private List<WeightJson> weight_json;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getSYS_add_time() {
        return SYS_add_time;
    }

    public void setSYS_add_time(String sYS_add_time) {
        SYS_add_time = sYS_add_time;
    }

    public String getSYS_check_time() {
        return SYS_check_time;
    }

    public void setSYS_check_time(String sYS_check_time) {
        SYS_check_time = sYS_check_time;
    }

    public String getSYS_dm_update_time() {
        return SYS_dm_update_time;
    }

    public void setSYS_dm_update_time(String sYS_dm_update_time) {
        SYS_dm_update_time = sYS_dm_update_time;
    }

    public String getAcceptance_number() {
        return acceptance_number;
    }

    public void setAcceptance_number(String acceptance_number) {
        this.acceptance_number = acceptance_number;
    }

    public String getApplication() {
        return application;
    }

    public void setApplication(String application) {
        this.application = application;
    }

    public String getBlinding() {
        return blinding;
    }

    public void setBlinding(String blinding) {
        this.blinding = blinding;
    }

    public String getChemical_recode_number() {
        return chemical_recode_number;
    }

    public void setChemical_recode_number(String chemical_recode_number) {
        this.chemical_recode_number = chemical_recode_number;
    }

    public String getClinical_trials_type() {
        return clinical_trials_type;
    }

    public void setClinical_trials_type(String clinical_trials_type) {
        this.clinical_trials_type = clinical_trials_type;
    }

    public String getCondition() {
        return condition;
    }

    public void setCondition(String condition) {
        this.condition = condition;
    }

    public String getContact_address() {
        return contact_address;
    }

    public void setContact_address(String contact_address) {
        this.contact_address = contact_address;
    }

    public String getContact_email() {
        return contact_email;
    }

    public void setContact_email(String contact_email) {
        this.contact_email = contact_email;
    }

    public String getContact_name() {
        return contact_name;
    }

    public void setContact_name(String contact_name) {
        this.contact_name = contact_name;
    }

    public String getContact_phone() {
        return contact_phone;
    }

    public void setContact_phone(String contact_phone) {
        this.contact_phone = contact_phone;
    }

    public String getContact_postcode() {
        return contact_postcode;
    }

    public void setContact_postcode(String contact_postcode) {
        this.contact_postcode = contact_postcode;
    }

    public List<ControlInfo> getControl_info_nested() {
        return control_info_nested;
    }

    public void setControl_info_nested(List<ControlInfo> control_info_nested) {
        this.control_info_nested = control_info_nested;
    }

    public String getDesign_type() {
        return design_type;
    }

    public void setDesign_type(String design_type) {
        this.design_type = design_type;
    }

    public String getDmc() {
        return dmc;
    }

    public void setDmc(String dmc) {
        this.dmc = dmc;
    }

    public String getDrug_name() {
        return drug_name;
    }

    public void setDrug_name(String drug_name) {
        this.drug_name = drug_name;
    }

    public String getDrug_type() {
        return drug_type;
    }

    public void setDrug_type(String drug_type) {
        this.drug_type = drug_type;
    }

    public String getEnd_time() {
        return end_time;
    }

    public void setEnd_time(String end_time) {
        this.end_time = end_time;
    }

    public List<EthicsCommitteeInformation> getEthics_committee_information_nested() {
        return ethics_committee_information_nested;
    }

    public void setEthics_committee_information_nested(
            List<EthicsCommitteeInformation> ethics_committee_information_nested) {
        this.ethics_committee_information_nested = ethics_committee_information_nested;
    }

    public String getExclusion_criteria() {
        return exclusion_criteria;
    }

    public void setExclusion_criteria(String exclusion_criteria) {
        this.exclusion_criteria = exclusion_criteria;
    }

    public String getExt_company() {
        return ext_company;
    }

    public void setExt_company(String ext_company) {
        this.ext_company = ext_company;
    }

    public String getFirst_subject_entry_time() {
        return first_subject_entry_time;
    }

    public void setFirst_subject_entry_time(String first_subject_entry_time) {
        this.first_subject_entry_time = first_subject_entry_time;
    }

    public String getFunds() {
        return funds;
    }

    public void setFunds(String funds) {
        this.funds = funds;
    }

    public String getGeneral_title() {
        return general_title;
    }

    public void setGeneral_title(String general_title) {
        this.general_title = general_title;
    }

    public String getInclusion_criteria() {
        return inclusion_criteria;
    }

    public void setInclusion_criteria(String inclusion_criteria) {
        this.inclusion_criteria = inclusion_criteria;
    }

    public List<InvestigationOrganisation> getInvestigation_organisation_nested() {
        return investigation_organisation_nested;
    }

    public void setInvestigation_organisation_nested(
            List<InvestigationOrganisation> investigation_organisation_nested) {
        this.investigation_organisation_nested = investigation_organisation_nested;
    }

    public String getInvestigator_address() {
        return investigator_address;
    }

    public void setInvestigator_address(String investigator_address) {
        this.investigator_address = investigator_address;
    }

    public String getInvestigator_email() {
        return investigator_email;
    }

    public void setInvestigator_email(String investigator_email) {
        this.investigator_email = investigator_email;
    }

    public String getInvestigator_name() {
        return investigator_name;
    }

    public void setInvestigator_name(String investigator_name) {
        this.investigator_name = investigator_name;
    }

    public String getInvestigator_organisation() {
        return investigator_organisation;
    }

    public void setInvestigator_organisation(String investigator_organisation) {
        this.investigator_organisation = investigator_organisation;
    }

    public String getInvestigator_phone() {
        return investigator_phone;
    }

    public void setInvestigator_phone(String investigator_phone) {
        this.investigator_phone = investigator_phone;
    }

    public String getInvestigator_title() {
        return investigator_title;
    }

    public void setInvestigator_title(String investigator_title) {
        this.investigator_title = investigator_title;
    }

    public List<MainEndpoint> getMain_endpoint_nested() {
        return main_endpoint_nested;
    }

    public void setMain_endpoint_nested(
            List<MainEndpoint> main_endpoint_nested) {
        this.main_endpoint_nested = main_endpoint_nested;
    }

    public String getPostcode() {
        return postcode;
    }

    public void setPostcode(String postcode) {
        this.postcode = postcode;
    }

    public String getPrimary_subjects_number() {
        return primary_subjects_number;
    }

    public void setPrimary_subjects_number(String primary_subjects_number) {
        this.primary_subjects_number = primary_subjects_number;
    }

    public String getProject_number() {
        return project_number;
    }

    public void setProject_number(String project_number) {
        this.project_number = project_number;
    }

    public String getPublication_date() {
        return publication_date;
    }

    public void setPublication_date(String publication_date) {
        this.publication_date = publication_date;
    }

    public String getPurpose() {
        return purpose;
    }

    public void setPurpose(String purpose) {
        this.purpose = purpose;
    }

    public String getRandomization() {
        return randomization;
    }

    public void setRandomization(String randomization) {
        this.randomization = randomization;
    }

    public String getReal_subjects_num() {
        return real_subjects_num;
    }

    public void setReal_subjects_num(String real_subjects_num) {
        this.real_subjects_num = real_subjects_num;
    }

    public String getRegistration_number() {
        return registration_number;
    }

    public void setRegistration_number(String registration_number) {
        this.registration_number = registration_number;
    }

    public List<SampleInfo> getSample_info_nested() {
        return sample_info_nested;
    }

    public void setSample_info_nested(List<SampleInfo> sample_info_nested) {
        this.sample_info_nested = sample_info_nested;
    }

    public String getScientific_title() {
        return scientific_title;
    }

    public void setScientific_title(String scientific_title) {
        this.scientific_title = scientific_title;
    }

    public List<SecondaryEndpoint> getSecondary_endpoint_nested() {
        return secondary_endpoint_nested;
    }

    public void setSecondary_endpoint_nested(
            List<SecondaryEndpoint> secondary_endpoint_nested) {
        this.secondary_endpoint_nested = secondary_endpoint_nested;
    }

    public String getSponsor_name() {
        return sponsor_name;
    }

    public void setSponsor_name(String sponsor_name) {
        this.sponsor_name = sponsor_name;
    }

    public List<SponsorName> getSponsor_name_nested() {
        return sponsor_name_nested;
    }

    public void setSponsor_name_nested(List<SponsorName> sponsor_name_nested) {
        this.sponsor_name_nested = sponsor_name_nested;
    }

    public String getStage() {
        return stage;
    }

    public void setStage(String stage) {
        this.stage = stage;
    }

    public String getStudy_range() {
        return study_range;
    }

    public void setStudy_range(String study_range) {
        this.study_range = study_range;
    }

    public String getSubjects_age() {
        return subjects_age;
    }

    public void setSubjects_age(String subjects_age) {
        this.subjects_age = subjects_age;
    }

    public String getSubjects_gender() {
        return subjects_gender;
    }

    public void setSubjects_gender(String subjects_gender) {
        this.subjects_gender = subjects_gender;
    }

    public String getSubjects_healthy() {
        return subjects_healthy;
    }

    public void setSubjects_healthy(String subjects_healthy) {
        this.subjects_healthy = subjects_healthy;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public List<WeightJson> getWeight_json() {
        return weight_json;
    }

    public void setWeight_json(List<WeightJson> weight_json) {
        this.weight_json = weight_json;
    }

}
